1. Field of the Invention
This invention relates to interpolation.
2. Description of the Prior Art
Interpolation arrangements are used, for example, to generate output pixels from input pixels in an image or video processing arrangement.
Image processing is generally at least a two-dimensional operation. A basic technique involves convolving together a one-dimensional (1D) filter to scale horizontally with a corresponding filter to scale vertically, to produce a filter that is able to filter and scale an image in both directions with a single 2D filter matrix. The two dimensional filter resulting from the convolution of the two orthogonal filters is aligned to the horizontal and vertical axes.
It has been proposed that interpolation filtering should be arranged to align with the detected direction or angle of image features.
One technique of angle directed filtering is to rotate such a two dimensional filter matrix, so that the principal axis of the filter is aligned to a detected edge or image feature. The theory behind this principle is to align most of the energy of the filter along the length of the image feature. An additional stage is to increase the bandwidth of the filter in the direction perpendicular to the orientation of the edge in order to preserve the sharpness of the edge. The aim of the bandwidth increase is again to further increase the energy of the filter along the image feature line.
Although such a 2D edge directed filter method can produce some good results, there is a fundamental difficulty with the technique. The effect of the rotation is that the bandwidth has been changed in both directions unintentionally and, as a result, the output pixel is not as expected. The problems for this method increase further for non zero offset values (output pixel positions not aligned with input or source pixels); the edge directed rotation filter can produce significant striping artefacts when used for images with angled features.
It is an object of the invention to provide improved techniques for pixel interpolation.